'use strict';

// --------- 记忆函数(函数缓存) --------------------
exports.memorize = function (fun) {
    var cache = {};
    return function () {
        // 将实参转换成key作为key,并将结果保存到cache中
        var key = Array.prototype.join.call(arguments, ',');
        if (!(key in cache)) {
            cache[key] = fun.apply(this, arguments);
        }
        return cache[key];
    };
};
